 $ type sys$help:CMS023.RELEASE_NOTES;1






















                                  VAX DEC/CMS

                                  VERSION V2.3

                                 RELEASE NOTES

                                   APRIL 1987


































                                                               Page ii


                                   CONTENTS

        1       Introduction . . . . . . . . . . . . . . . . . . . . 1
        2       Documentation  . . . . . . . . . . . . . . . . . . . 1
        3       Functional Enhancements  . . . . . . . . . . . . . . 1
        3.1       CMS$CMS entry point  . . . . . . . . . . . . . . . 1
        3.2       CMS$SET_LIBRARY and CMS$CREATE_LIBRARY callback 
                  routines . . . . . . . . . . . . . . . . . . . . . 1
        3.3       CMS$ASYNCH_TERMINATE entry point . . . . . . . . . 2
        3.4       Control-C and CMS-I-WAITING  . . . . . . . . . . . 2
        3.5       SET LIBRARY /[NO]VERIFY qualifier  . . . . . . . . 2
        3.6       CMS$SHOW_LIBRARY . . . . . . . . . . . . . . . . . 2
        4       Corrected Problems . . . . . . . . . . . . . . . . . 2
        4.1       Merges involving deletions . . . . . . . . . . . . 3
        4.2       Differences algorithm  . . . . . . . . . . . . . . 3
        4.3       VERIFY handling of corrupt libraries . . . . . . . 4
        4.4       Element generations with fixed-length records  . . 4
        4.5       Reference copy dates and security attributes . . . 5
        4.6       Disk space problems  . . . . . . . . . . . . . . . 5
        4.7       Input file specification and deletion  . . . . . . 5
        4.8       SHOW LIBRARY/BRIEF . . . . . . . . . . . . . . . . 5
        4.9       Virtual memory management  . . . . . . . . . . . . 6
        5       Known Problems and Restrictions  . . . . . . . . . . 6
        5.1       CREATE ELEMENT and REPLACE from reference copy 
                  directory  . . . . . . . . . . . . . . . . . . . . 6
        5.2       Element names beginning with $, _, or - are not 
                  allowed  . . . . . . . . . . . . . . . . . . . . . 6
        5.3       SHOW GENERATION/ANCESTORS/FROM=generation-exp  . . 6

























                                                                Page 1


     1  Introduction

     These are the release notes for DEC/CMS version V2.3.  This is  a
     maintenance   release   of  DEC/CMS,  which  contains  functional
     enhancements and problem corrections.  You do not  need  to  have
     installed  any previous version of DEC/CMS before installing this
     release.

     DEC/CMS V2.3 requires 4000 blocks  (peak  usage)  of  disk  space
     during  installation;  1800  blocks  (net  usage)  are used after
     installation.


     2  Documentation

     The documentation for DEC/CMS has been  reorganized  for  version
     V2.3.  The new manuals are:

      -  "VAX DEC/Code Management System  Installation  Guide",  Order
         Number:  AA-Z338B-TE

      -  "Guide to VAX  DEC/Code  Management  System",  Order  Number:
         AI-KLO3A-TE

      -  "VAX DEC/Code Management System Callable  Routines  Reference
         Manual", Order Number:  AI-Z340B-TE

      -  "VAX DEC/Code Management System Quick Reference Guide", Order
         Number:  AV-L374C-TE


     3  Functional Enhancements

     The following new features have been added  in  version  V2.3  of
     DEC/CMS.


     3.1  CMS$CMS entry point

     The major new feature in version V2.3 is  a  new  callable  entry
     point,  CMS$CMS,  which allows an unparsed CMS command line to be
     passed to CMS.  Refer  to  the  VAX  DEC/CMS  Callable  Reference
     Manual for more details.


     3.2  CMS$SET_LIBRARY and CMS$CREATE_LIBRARY callback routines

     Three parameters have been added to the routines  CMS$SET_LIBRARY
     and  CMS$CREATE_LIBRARY  to  support  the  use of the confirm and
     output callback mechanisms from  lower  level  callable  routines
     (e.g.  concurrent reservation confirmation prompts from CMS$FETCH
     and CMS$REPLACE).  Refer to the VAX  DEC/CMS  Callable  Reference
     Manual for more details.
























                                                                Page 2


     3.3  CMS$ASYNCH_TERMINATE entry point

     This routine may be used to simulate or inform CMS of a  keyboard
     Control-C  (cancel)  event.   Refer  to  the VAX DEC/CMS Callable
     Reference Manual for more details.


     3.4  Control-C and CMS-I-WAITING

     Control-C may be used to  cancel  a  command  that  incurred  the
     "%CMS-I-WAITING, CMS library ...  is still in use" wait and retry
     loop.   Previously,  CMS   would   ignore   Control-C   in   this
     circumstance.

     Also, the timeout period has been changed from 30 minutes  to  15
     minutes.  This change has been effected by reducing the number of
     one minute wait intervals from 30 to 15.


     3.5  SET LIBRARY /[NO]VERIFY qualifier

     The /NOVERIFY qualifier speeds up the SET  LIBRARY  operation  by
     bypassing some of the CMS library validation checks.  This allows
     the CMS library context to be set, even if the library is  locked
     (in  use)  by  another  user.   However,  if  the  library  needs
     recovery, this fact will not be detected until a CMS  transaction
     is initiated.  The default is /VERIFY.


     3.6  CMS$SHOW_LIBRARY

     A new parameter, VERIFY,  has  been  added  at  the  end  of  the
     existing parameters.  This controls whether the library is locked
     during the SHOW LIBRARY function.  Note that locking the  library
     is  required  for  CMS  to  fill  in  the  REFERENCE_COPY_DIR and
     STATISTICS parameters.  Thus if CHECK is specified as 0, CMS will
     return  zeros  in  these parameters.  Locking the library is also
     necessary for CMS to determine library integrity.  If recovery is
     necessary,  this  will not be detected until another operation is
     initiated.

     This parameter must be  a  longword  passed  by  reference.   The
     default  value  of  the CHECK parameter is 1; that is, locking is
     performed.


     4  Corrected Problems

     The  following  sections  highlight  problems  that   have   been
     corrected  in  DEC/CMS  V2.3.  Various other minor bugs have been
     addressed as well.



























                                                                Page 3


     4.1  Merges involving deletions

     In some cases previous versions of CMS would report some deletion
     changes  as conflicts or successful merges depending on the order
     of replacement of the two generations.   These  changes  are  now
     always correctly reported as conflicts.


     4.2  Differences algorithm

     Under certain, rare conditions, the differences algorithm used by
     CMS was unstable; that is, it would report differences with minor
     content variations.  These different differences  were  innocuous
     in  most  cases,  in  that  the  results  (for  example, of FETCH
     operations) would be the same.  However, if the conditions  arose
     during  a  REPLACE operation, then the element data file would be
     constructed incorrectly.  Such an  incorrect  element  data  file
     could lead to symptoms that were in fact not innocuous.

     The most likely circumstances that would elicit this behavior are
     multiple  merges between the same lines of descent.  For example,
     a merge would be performed between two generations  on  different
     lines  of  descent;  further development would occur along one or
     both lines; then another merge would be performed between (later)
     generations  of  the  same lines of descent.  The symptom of this
     problem would be a block of text appearing twice  in  the  merged
     (second  merge)  file.   These two text blocks would be merged as
     two independent (non-conflicting) merges, and so not  brought  to
     the user's attention by the "***...  Conflict ...***" delimiters.

     The structure of a fragment of either of the generations  in  the
     affected area would be as follows:
                .
                .
                .
        <delimiter block>
        <text block>
        <delimiter block>
                .
                .
                .
     where <delimiter block> is one or more  lines  that  delimit  the
     <text  block>  of  one  or  more  lines.   CMS  will FETCH either
     generation correctly, i.e.  with the above structure.

     However, the affected area of the  merged  file  would  have  the
     following structure:

































                                                                Page 4


                .
                .
                .
        <delimiter block>
        <text block>
        <delimiter block>
        <text block>
        <delimiter block>
                .
                .
                .
     The <text block> appears twice, separated by a spurious  instance
     of the <delimiter block> The correct structure of the merged file
     is the same as that of the individual generations.  This  problem
     has been fixed in DEC/CMS V2.3.

     Element data files  that  were  incorrectly  formed  by  previous
     versions  of  CMS  may  continue  to  exhibit  this symptom under
     certain circumstances.  It is impossible to correct  the  element
     data files, because it is not possible to distinguish a corrupted
     element data file from actual, desired behavior.

     The conditions leading to this symptom are  extremely  rare,  and
     most  elements  will  not  be  affected.  The previous discussion
     points out that elements that are potential candidates  for  this
     symptom  are those in which multiple merges are performed between
     the same lines of descent.


     4.3  VERIFY handling of corrupt libraries

     The CMS VERIFY command has been made more robust so that it  will
     no  longer  access  violate  or  otherwise  be  unable  to handle
     severely corrupt libraries.  It will now correctly report on  the
     corruption and return control to the user normally.


     4.4  Element generations with fixed-length records

     With previous versions of DEC/CMS, if a  file  with  fixed-length
     records  was  used  to  create  an  element generation, then that
     generation could not be FETCHed or RESERVEd.   This  problem  has
     been fixed in DEC/CMS V2.3.

     The output routine for the callable routine, CMS$SHOW_GENERATION,
     now  accepts  an additional argument to accept the maximum record
     size for fixed-length files.  This argument is a signed  longword
     passed by reference.  Refer to the VAX DEC/CMS Callable Reference
     Manual for more details.

     VERIFY and VERIFY/REPAIR have been enhanced to detect and correct
     generations  that  have  fixed-length  records  with  a  recorded
     maximum record size of zero.  This condition was  caused  by  the
     behavior of previous versions of DEC/CMS.






















                                                                Page 5


     4.5  Reference copy dates and security attributes

     Reference  copies  will  now  always  inherit  the   modification
     (revision)  date  and time from the input file used to create the
     generation, regardless of whether the  reference  copy  directory
     was on the same volume as the input file or not.

     Reference copy security attributes (owner,  UIC  protection,  and
     access  control  list)  are  now  properly  maintained.  Previous
     versions of CMS did not propagate the security attributes if  the
     input  file  and  the  reference  copy directory were on the same
     volume.


     4.6  Disk space problems

     Previous versions of DEC/CMS did not recognize when disk space or
     disk  quota  had been exhausted.  Under some conditions CMS would
     not terminate (and rollback) the operation,  but  would  continue
     and  create a corrupt element data file.  This has been corrected
     in DEC/CMS V2.3.  CMS will terminate immediately,  and  the  user
     should make more disk space available and retry the operation.


     4.7  Input file specification and deletion

     The CREATE ELEMENT command would fail if the /INPUT qualifier was
     used and the default device and directory did not exist.  CMS now
     properly resolves  /INPUT  and  default  file  specifications  to
     locate the input file.

     The REPLACE command would delete files with the same name as  the
     element   from  the  default  directory,  rather  than  the  file
     specified by the /INPUT qualifier.  CMS now deletes the specified
     input file.

     CMS CREATE ELEMENT and REPLACE would not delete the input file if
     the  reference  copy directory was on a different volume than the
     input file.  CMS now properly deletes all versions of  the  input
     file.


     4.8  SHOW LIBRARY/BRIEF

     This command has been modified to work without  locking  the  CMS
     library.   This means that SHOW LIBRARY/BRIEF will work even when
     the default library is locked (in use) by another user.

     However, if the library needs recovery, this will not be detected
     until    another    CMS    operation    is    initiated.     SHOW
     LIBRARY/INTERMEDIATE and SHOW LIBRARY/FULL still work as  before.
     The default qualifier is still /INTERMEDIATE.

























                                                                Page 6


     4.9  Virtual memory management

     The management of virtual memory (used for internal  buffers  and
     mapping files) has been changed to allocate, deallocate and cache
     memory  in  large  blocks  to  reduce   virtual   address   space
     fragmentation.


     5  Known Problems and Restrictions

     The following are known  problems  and  restrictions  in  DEC/CMS
     V2.3.


     5.1  CREATE ELEMENT and REPLACE from reference copy directory

     The use of files in the reference copy directory as  input  files
     for  CREATE ELEMENT and REPLACE operations (either by SET DEFAULT
     to that  directory  or  by  explicit  reference  via  the  /INPUT
     qualifier) is not recommended.


     5.2  Element names beginning with $, _, or - are not allowed

     Element names that begin with a dollar sign  ($),  an  underscore
     (_),  or  a hyphen (-) are not allowed.  Element names must begin
     with an alphanumeric character.  This restriction  is  consistent
     with  the  VMS  specification for file names as documented in the
     VAX/VMS DCL Concepts Manual (Order Number AA-HK73A-TE) in Section
     3.3,  which  states  that  file names and types cannot begin with
     dollar sign, underscore, or hyphen characters.  However VMS  does
     not  enforce  the restriction with respect to leading dollar sign
     or underscore characters.

     CMS enforces this restriction when element names do  not  contain
     wild  card characters that can cause such element names to escape
     detection by CMS.  That is, CMS will reject an  element  name  of
     $ABC.DEF,  but  will  accept  *ABC.DEF,  and  properly locate the
     element $ABC.DEF  (and  any  others  that  match  the  wild  card
     pattern).   This  practice  is  not  recommended, and may lead to
     elements that cannot be accessed specifically.  This  restriction
     may  be  lifted  in  a  future  release  of  DEC/CMS,  if the VMS
     convention is clarified.


     5.3  SHOW GENERATION/ANCESTORS/FROM=generation-exp

     The generation specified in the /FROM=generation-exp qualifier is
     not processed properly under some circumstances, which results in
     an incorrect CMS-E-GENNOTFOUND error  diagnostic.   Such  results
     should      be      checked      with      a      direct     SHOW
     GENERATION/GENERATION=generation-exp command to be  certain  that
     the specified generation does not exist.
